package cn.e3mall.item.controller;

import freemarker.template.Configuration;
import freemarker.template.Template;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer;

import java.io.FileWriter;
import java.io.Writer;
import java.util.HashMap;
import java.util.Map;

/**
 * @author shenrs
 * @Description 生成静态页面测试Controller
 * @create 2017-10-23 16:40
 **/
@Controller
public class HtmlGenController {

    @Autowired
    private FreeMarkerConfigurer freeMarkerConfigurer;

    @RequestMapping("/genhtml")
    @ResponseBody
    public String genHtml() throws Exception{
        // 1、从spring容器中获得FreeMarkerConfigurer对象。
        // 2、从FreeMarkerConfigurer对象中获得Configuration对象。
        Configuration configuration = freeMarkerConfigurer.getConfiguration();
        //3、使用Configuration对象获得Template对象。
        Template template = configuration.getTemplate("hello.ftl");
        //4、创建数据集
        Map data = new HashMap<>();
        data.put("hello", "hello world freemarker!");
        //5、创建输出文件的Writer对象。
        Writer writer = new FileWriter("C:/Users/Administrator/Desktop/hello.txt");
        //6、调用模板对象的process方法，生成文件。
        template.process(data, writer);
        //7、关闭流。
        writer.close();
        return "OK";
    }
}
